<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>

    <script>
        //网络请求：aaa ->  自己处理（10行）
        //处理： aaa111 ->自己处理（10行）
        //处理： aaa111222 ->自己处理
        // wrapped into
        new Promise((resolve,reject)=>{
            setTimeout(()=>{
                resolve('aaa')
            },1000)
        }).then((data)=>{
            //1.自己处理10行代码
            console.log(data,'第一层的10行处理代码')


            //因为reject是可选类型，可传，可不传
            //2.对结果进行第一次处理
            return new Promise((resolve)=>{
                resolve(data+'111')
            })
        }).then((data)=>{
            console.log(data,'第二层的10行处理代码')
            //这里其实是可以简写的，跟上面的做对比
          //  return Promise.resolve(data+'222')  
         //还可以更简写 把Promise.resolve都省略掉了
          //  return data+'222';
         
          //同理这里也可以调用reject() ,调用了之后就回去执行catch里面的方法
        // return Promise.reject('err message')
          //可以更简写
          throw 'err message'
        }).then((data)=>{
            console.log(data,'第三层的10行处理代码')
        }).catch(err=>{
            console.log(err)
        })
        </script>
    
</body>
</html>